// 引入 express 
const express = require('express')
// 创建服务对象
const app = express()
// 配置中间件获取 post请求携带的参数
app.use(express.urlencoded({ extended: true }))
// 引入数据库的监听
const db = require('./db/db')

// 引入登录路由
const login = require('./router/Login')
// 引入注册路由
const register = require('./router/Register')

// 允许跨域
app.all('*', (req,res,next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Origin", req.headers.origin);
  // res.header("Access-Control-Allow-Origin", '*');
  res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
  res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
  res.header("Access-Control-Allow-Credentials","true");
  res.header("X-Powered-By",' 3.2.1')
  next()
})

// 数据库启动成功后才启动服务器
db(err => {
  if (err) {
    console.log('数据库启动失败', err)
  } else {

    // 使用登录路由
    app.use(login())
    // 使用注册路由
    app.use(register())


    // 监听服务端口
    app.listen(3000, (err) => {
      if (err) {
        console.log('服务器启动失败');
      } else {
        console.log('服务器启动成功');
      }
    })
  }
  
})